The invention described herein may be manufactured and used by or for the Government of the United States of America for Governmental purposes without the payment of any royalties thereon or therefore.
(1) Field of the Invention
The present invention relates generally to identifying/monitoring risks arising during a development project and, more specifically, to an automated system for determining risk in large development projects such as an expert system for monitoring and tracking ongoing project risk in a large software development project.
(2) Description of the Prior Art
Due to the level of complexity of multi-million dollar programs such as the design, development, and production of a next generation submarine or weapon, it is a formidable achievement to deliver the product on time, within budget, and with a high degree of quality assurance. In a typical complex military system development program, the cost of software development is a significant cost and often the predominant system cost.
It would be desirable to have an automated means for monitoring the risk levels associated with achieving the desirable outcome of the project as per the standards determined for the project. Various projections, baselines, or plans are made prior to project development in order to estimate the time, cost, and quality standards. Currently, the monitoring and identification of risk in achieving the program standards involves collecting data, visually examining the available data, comparing this with the program baseline or plan, and making a subjective estimation of program risk. For example, if program staffing falls substantially below the expected or planned staffing level during a critical phase of the program, as might be determined by other parameters, the project manager might conclude that the risk in product quality or in meeting with the scheduled delivery date is xe2x80x9chighxe2x80x9d. Staffing then becomes a critical program issue and steps can be taken to add personnel as necessary to reduce the perceived risk. However, it would be desirable to have more quantitative information of risk that is less subjective for a particular project. Preferably, it would be desirable to maintain the same staff of experts used in other projects whose experience could be applied to examine and interpret the information, compare it with the planned project/program objectives, and provide a quantitative measure of the risk level involved to aid the project manager in making necessary management adjustments to complete the project. While automated knowledge based systems are well known generally, the solution to the problems involved in ongoing assessment and evaluation of project risks as a management tool are not available in the prior art.
U.S. Pat. No. 4,783,752, issued Nov. 8, 1988, to Kaplan et al., discloses a knowledge based processor that is callable by an application program to access a knowledge base and to govern the execution or interpretation of the knowledge base to find the values of selected objects or expressions defined in the knowledge base.
U.S. Pat. No. 4,860,213, issued Aug. 22, 1989, to P. Bonissone, discloses an automated rule-based reasoning with uncertainty system having a three layer structure composed of representation, inference, and control layers.
U.S. Pat. No. 4,942,527, issued Jul. 17, 1990, to B. G. Schumacher, discloses a computerized management system with two way communication between the computer and an operator for receiving information from the operator during a management emergence stage necessary for developing a plan in machine readable language for an objective, processing the plan through a management convergence stage for generating subdivisional plans for output to the operator and receiving performance information as feedback for reducing the objective to reality, processing the management information and feedback information for generating specifications and quantitative goals for a new version of the objective, and processing the accumulated management data for producing new organizational policy.
U.S. Pat. No. 5,172,313, issued Dec. 15, 1992 as a continuation-in-part to the above cited U.S. Pat. No. 4,942,527, to B. G. Schumacher, discloses additional processes related to the above-cited computerized management system such as processing through the emergence and convergence stages to analyze and selectively remove tasks which have exceed planned task time, perform system analysis for directing performance for the next task and calculating the scheduled time for the remaining tasks in the series.
U.S. Pat. No. 5,189,606, issued Feb. 23, 1993, to Burns et al. discloses an integrated construction cost generator that may be used to project costs for construction projects rather than a method for monitoring ongoing project risk.
U.S. Pat. No. 5,208,898, issued May 4, 1993, to Funabashi et al. discloses a knowledge processing system in which a grade representing a degree at which an event is satisfied or unsatisfied is obtained depending on a condition part represented in a form of a logical arithmetic expression including an expression of a fuzzy logic and on a grade of satisfaction of the condition part generates rules on assumption of unmeasurable events associated with states of the external field of the system so as to add the rules to the rules related to the unmeasurable events.
U.S. Pat. No. 5,293,585, issued Mar. 8, 1994, to N. Morita, discloses an industrial expert system for use in designing a plant system or devices thereof and in fault detection, that includes a knowledge base having a rules section for describing deductive inference rules. The system uses a simple construction to efficiently perform detection of fault logic by using specific formula or calculation of parameters representing features of a fault which are to be performed during inference.
U.S. Pat. No. 5,586,021, issued Dec. 17, 1996, to Fargher et al., discloses a method for planning a production schedule with a factory. A capacity model is determined by determining a plurality of contiguous time intervals, partitioning the factory into a plurality of resource groups, and determining a processing capacity for each of the resource groups for each of the time intervals. For each job to be planned, the job is divided into a plurality of processing segments each of which is represented with a corresponding fuzzy set. A completion date and confidence level can be predicted for each of the jobs so the jobs can be released to the factory and devices fabricated according to the requirements of the jobs.
U.S. Pat. No. 5,737,727, issued Apr. 7, 1998, to Lehmann et al., discloses a process management system for operating a computer that includes a graphical interface for graphically presenting a process or portion thereof to a user.
In summary, while the prior art shows numerous general purpose knowledge based system and various specific purpose systems, there is not shown a system for monitoring and identifying risks associated with large projects such as software development projects. Consequently, there remains a need for a system to quantify various types of ongoing risk that may arise during project development using an objective predetermined basis. It would also be desirable to have means to objectively quantify overall project risk on an ongoing basis. Those skilled in the art will appreciate the present invention that addresses the above and other problems.
Accordingly, it is an object of the present invention to provide an automated system and method for identifying and monitoring risk associated with a development project.
It is another object of the present invention to use a rule based risk assignment system for determining the risk.
It is yet another object of the present invention to provide an output in chart form that plots a plurality of risk factors over the duration of the project.
It is yet another object of the present invention to provide an overall risk from said rule based risk assignment system.
These and other objects, features, and advantages of the present invention will become apparent from the drawings, the descriptions given herein, and the appended claims.
In accordance with the present invention, a method for monitoring risk is provided that is related to a successful completion of a development project comprising steps therefore. A plurality of variables are determined relating to the successful completion of the development project. A respective baseline is projected for each of the plurality of variables for the successful completion of the development project. Data values are collected that relate to each of the plurality of variables with respect to time. A data base stores therein rules based on knowledge developed from one or more experts relating to the plurality of variables for interpreting the data values with respect to the respective baseline. The database also stores the data values and the respective baseline for the plurality of variables for determining a plurality of risk levels related to a probability of one or more undesirable events. A visual output is provided that is representative of each of the plurality of risk levels. The method is particularly applicable to development projects that involve development of a quantity of software. In a preferred embodiment, the plurality of risk levels is quantifiably determined and plotted. The visual output representative of the plurality of risk levels may comprise a graph showing each of the plurality of risk levels plotted with respect to time throughout the development project. The risk levels may be determined and plotted at selectable time intervals. Preferably, the data values are converted to metric values. The metric values are used to determine the plurality of risk levels. Each of the plurality of risk levels may be expressed quantitatively such as with a numerical description related to risk or in a non-numerical way such as high, medium, and low risk. In one embodiment of the invention, the data values are collected related to staffing levels, project requirements, and to the number of source lines of code that are required.
Thus, the invention comprises an expert system for determining risk in the development project. The expert system may selectively use a first or second plurality of rules for identifying and monitoring the plurality of risk factors. The system has a plurality of inputs related to each of the plurality of risk factors for monitoring during the development project. Each of the plurality of inputs is preferably associated with a quantifiable and weighted value and the database stores the history of each of the plurality of inputs. A computerized program is used for evaluating the plurality of inputs with respect to the quantifiable and weighted value and for comparison with the plurality of projected base levels. From this, the program determines the plurality of outputs related to the plurality of risk factors. The computerized program is operable for producing the historical chart that may show historical values for each of the plurality of risk factors with respect to a time line for the development project. The computerized program may be manipulatable so that each of the plurality of inputs and outputs may be selectively removeable and so that additional inputs and outputs may be added.